查看原文
其他

PowerBI Desktop中新建表的使用场景

采悟 PowerBI星球 2022-12-17


通常情况下,在PowerBI进行分析的各种数据表都是从外部的各种数据源导入进来的,但并不总是如此,某些情况下在PowerBI Desktop中也可以根据需要直接建立各种表格。


在进行数据分析的过程中,也许还需要加入新的数据表或者新的维度,而我们并不想再导入源数据或者回到PQ编辑器进行处理,那么就可以利用已加载到模型中的数据进行构建新表,下面就来看看如何在PowerBI Desktop中新建数据表,以及几种常见的使用场景。



如何新建表


在【建模】选项卡下点击“新表”,就可以建立一个表格了,



然后在出现的编辑框中输入DAX函数就可以了。


常见的使用场景


合并数据表


将现有数据结构相同的多个表合并为一个表,无需进入PQ编辑器操作。假如PowerBI Desktop中已经有如下两个分月销售数据表,表名分别为'1月'和'2月',


▲1月份销售数据


▲2月份销售数据

在新表的编辑框中输入:


合并 = union('1月','2月')


然后1月和2月的数据就合并到这种新建的'合并'表中了,


▲1月和2月合并数据


UNION函数的参数就是表名,它的功能是纵向追加数据,和PQ的追加合并功能相同。


交叉联结


就是把两个表通过某个字段进行联结,还是上面的数据,另外还有一个'采购表',



先把这个表中的[产品]列和合并表中的[商品名称]建立关系,



然后新建表,输入:


合并联结 = NATURALINNERJOIN('合并','采购表')


然后就新建了一个合并联结表如下,



这张表自动把每种商品的购入价匹配进来了,NATURALINNERJOIN函数类似于我们最熟悉的Vlookup,它的参数就是两个表格,不过要区分前后顺序,第一个表是基础表,第二个表是联结表,相当于左联结。


提取维度表


可以根据现有的数据字段,提取需要的维度表,根据上面的合并表,如果需要一个商品名称的维度表,在DAX编辑框中输入:


产品表 = DISTINCT('合并'[名称])


将建立一个产品表,



DISTINCT函数可以提取一列中不重复的值。


生成日期表


这个应该是最经常使用的了,如果数据模型中没有日期表,那么没有必要再去找一个日期表然后导入进来,可以直接在PowerBI Desktop中新建表,并输入:


日期表 = ADDCOLUMNS (
CALENDAR (DATE(2016,1,1), DATE(2016,12,31)),
"年度", YEAR ( [Date] ),
"月份", FORMAT ( [Date], "MM" ),
"年月", FORMAT ( [Date], "YYYY/MM" ),
"星期", WEEKDAY ( [Date] ) & "-" & FORMAT ( [Date], "ddd" ),
"季度", "Q" & FORMAT ( [Date], "Q" ),
"年份季度", FORMAT ( [Date], "YYYY" ) & "/Q" & FORMAT ( [Date], "Q" ))


然后就生成了一个标准的日期表,



这个DAX看着很长,其实并不难,第一行利用CALENDAR函数设置日期表的起止日期,然后就是利用FORMAT函数对每一列进行格式设置而已,比在Excel中生成还简单,如果需要带有特定字段的日期表,在上面的DAX公式添加特定的格式列即可。


新增空表


新增加一个空表经常用来放置度量值,比如新建一个空表,输入:


度量值表 = ROW("度量值", BLANK())



然后选择度量值,放入到这个表中,操作步骤如GIF图,



模型中新建的度量值特别多的情况下,用一个表专门收纳度量值非常必要。


通过以上的例子可以看出,在PowerBI Desktop中新建的表与其他导入的表并没有区别,可以和其他表建立关系,也可以添加到报表进行可视化;如果是在导入表的基础上构建的,那么源数据变动,这些新建表同样会自动更新。

并且新建表是用DAX函数构建的,这让它变得十分灵活高效,利用DAX的强大功能,新建表的使用场景远不止于此,以后的文章中还会提到。






THE END


提升技能 开拓视野

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存